Scanners may be widely applied for the ability of generating digital representation of the information comprised by an original. The digital representation may be processed on a host device such as computer, and through an I/O cable data may be transmitted from the scanner to the computer. The data transmission rate from the scanner to the host device may depend on the communication protocol used between the scanner and the host device. Ideally, digital data transferred to the host device may be produced at the same rate that the host device can accept it. Therefore, no memory buffer may be required for accumulating data that may be waiting for transfer. However, the digital data may be produced at a rate quite different from the data reception rate of the host device. If the transmission rate is higher than the data generating rate of the scanner, the scanner may run at full speed with no possible loss of data. However, the data generating rate of a scanner may be faster than the transmission rate of the host computer. Therefore, when the transmission rate is lower than the data generating rate, issues related to the efficiency of the scanning operation may arise in the scanning operation.
Besides optical resolution, the scanning speed may be another functional aspect of scanners. The scanning speed may be the time that the scanner sends back scanned image to the host device after the scanning work is started. If the transmission rate is slower, the image data may be accumulated in a memory buffer, and the memory buffer may finally get full after only a portion of the original is scanned. In order to prevent the loss of the image data, the scanning operation may be halted when the memory buffer is full and, then resumed when the memory buffer is empty or available for storing more data again. In other words, when the memory buffer is full, a scanning module driven by a motor may be stopped and moved backward for a predetermined number of steps, due to the first few step motions of the scanning module being usually quite shaky and unstable that may be caused by mechanical vibrations resulting in affecting the quality of the output in that period. Then, the scanning module may be forwarded from there when the data accumulated in the memory buffer is transmitted to the host device. The processes of stopping and restarting the scan are alternatively performed until the scanning operation is completed. This method of preventing the loss of image data may be useful, but it may cause the scanning of an original to take a long time because the scanning may be stopped and restarted repeatedly.
The procedure of moving the scanning module backward and forward or, in other words, the procedure of stopping and restarting the scanning module may be called a smearing or the start-stop process. This procedure might help to solve the problem of unstable scanning module or memory buffer full but it may take time to move the scanning module backward and forward, which may reduce the overall scanning speed of the scanner. Besides the start-stop process, in order to overcome the problems associated with data transfer from the scanner to the computer due to the varying transmission rate of the computer, many methods may have been proposed. The increase in size of the memory buffer may be one of the methods. The scanning of the original may not be affected by the varying capability of the computer to receive data. Enlarging memory buffer may be quite straight forward and easy but with some drawbacks, that is, it may also increase cost and complicate the manufacture of a scanner. Moreover, it may not really solve the problem when a high-resolution scan is performed, which can generate a huge amount of image data within a very short period of time, and it may not be feasible to simply increase the memory buffer size to alleviate the problem.
A scanner with fast scanning speed may shorten the time while scanning of an original, and speed up and increase work efficiency. Thus, it may be helpful to develop a method and a system which may reduce the possibility of memory buffer being full, which may lead to the reduction of the time wasted on start-stop processes and thereby promoting the scanning speed without necessarily requiring the increase in size of a memory buffer.